#!/bin/sh

# Custom AppRun entry point that allows symlinking multiple
# executables, e.g. logray, tshark, dumpcap, editcap, etc.

# Adapted from
# https://github.com/probonopd/ippsample/blob/feature/appimage/appimage/AppRun

SELF=$(readlink -f "$0")
HERE=${SELF%/*}

# https://github.com/AppImage/AppImageKit/issues/126
export LD_LIBRARY_PATH="${APPDIR}/usr/lib:${LD_LIBRARY_PATH}"

# We should probably set these relative to the program path in
# wsutil/filesystem.c
if [ -z "$LOGRAY_DATA_DIR" ] ; then
    export LOGRAY_DATA_DIR="$APPDIR@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_DATADIR@/logray"
fi

if [ -z "$LOGRAY_EXTCAP_DIR" ] ; then
    export LOGRAY_EXTCAP_DIR="$APPDIR@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/logray/extcap"
fi

if [ -z "$LOGRAY_PLUGIN_DIR" ] ; then
    export LOGRAY_PLUGIN_DIR="$APPDIR@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/logray/plugins"
fi

# See if we were called by runtime.c, which sets APPIMAGE, ARGV0,
# and APPDIR.
if [ -n "$APPIMAGE" ] && [ -n "$ARGV0" ] ; then
    BINARY_NAME=${ARGV0##*/}
else
    BINARY_NAME=${0##*/}
fi

if [ -e "$HERE/usr/bin/$BINARY_NAME" ] ; then
    exec "$HERE/usr/bin/$BINARY_NAME" "$@"
else
    exec "$HERE/usr/bin/logray" "$@"
fi
